package a.f.h.f.a;

import a.a.kb;
import a.c.*;
import a.f.j.cb;
import a.f.j.s;

public class l
  extends a.f.j.d
{
  private a.c.n g;
  public static boolean h;
  
  public l(s params)
  {
    super(params);
  }
  
  protected ab[] b(cb paramcb)
  {
    int j = e.i;
    boolean bool = e.h;
    q localq = paramcb.a();
    bb[] arrayOfbb = kb.c(localq);
    boolean[] arrayOfBoolean = new boolean[localq.m()];
    int i = 0;
    label69:
    Object localObject3;
    label147:
    label149:
    label152:
    do
    {
      if (i >= arrayOfbb.length) {
        break;
      }
      localObject1 = arrayOfbb[i];
      do
      {
        ((bb)localObject1).b();
        break label69;
        if (bool) {
          break;
        }
        localObject2 = ((bb)localObject1).l();
        do
        {
          do
          {
            if (!((w)localObject2).e()) {
              break label152;
            }
            if (bool) {
              break;
            }
            localObject3 = ((w)localObject2).d().l();
            do
            {
              if (!((a.c.m)localObject3).e()) {
                break;
              }
              arrayOfBoolean[localObject3.a().d()] = true;
              ((a.c.m)localObject3).f();
              if (j != 0) {
                break label149;
              }
              if (bool) {
                break label147;
              }
            } while (!bool);
          } while (j != 0);
          ((w)localObject2).f();
        } while (!bool);
        i++;
      } while (j != 0);
    } while (!bool);
    z localz = new z();
    Object localObject1 = new ab();
    Object localObject2 = localq.w();
    do
    {
      if (!((a.c.m)localObject2).e()) {
        break;
      }
      localObject3 = ((a.c.m)localObject2).a();
      if (bool) {
        break label289;
      }
      if (arrayOfBoolean[localObject3.d()] != 0)
      {
        ab localab = new ab();
        localab.add(localObject3);
        localz.add(localab);
        if (j != 0) {
          continue;
        }
        if (!bool) {}
      }
      else
      {
        ((ab)localObject1).add(localObject3);
      }
      ((a.c.m)localObject2).f();
    } while (!bool);
    if (j == 0)
    {
      if (((ab)localObject1).size() > 0) {
        label289:
        localz.add(localObject1);
      }
      a.i.n.a(this, 0, "Result-BCCs: " + localz.size());
    }
    return (ab[])localz.toArray(new ab[localz.size()]);
  }
  
  protected ab[] c(cb paramcb)
  {
    int i1 = e.i;
    boolean bool = e.h;
    q localq = paramcb.a();
    x localx = localq.B();
    a.c.n localn = localq.C();
    int i = a.a.m.a(localq, localn, localx);
    ab[] arrayOfab = a.a.m.a(localq, localn, i);
    a.i.n.a(this, 0, "BCCs: " + arrayOfab.length);
    Object localObject1 = localq.v();
    label286:
    label380:
    label381:
    do
    {
      do
      {
        if (!((w)localObject1).e()) {
          break;
        }
        localObject2 = ((w)localObject1).d();
        if (bool) {
          break label667;
        }
        if (localx.getBool(localObject2))
        {
          a.i.n.a(this, 0, "AP: " + localObject2);
          boolean[] arrayOfBoolean1 = new boolean[i];
          boolean[] arrayOfBoolean2 = new boolean[i];
          boolean[] arrayOfBoolean3 = new boolean[i];
          a.c.m localm1 = ((a.c.e)localObject2).l();
          int n;
          do
          {
            if (!localm1.e()) {
              break;
            }
            a.c.d locald = localm1.a();
            n = localn.getInt(locald);
            if ((i1 == 0) && (bool)) {
              break label286;
            }
            if (this.g.getInt(locald) == 1)
            {
              if (locald.e() == localObject2)
              {
                arrayOfBoolean2[n] = true;
                if (i1 != 0) {
                  continue;
                }
                if (!bool) {}
              }
              else
              {
                arrayOfBoolean1[n] = true;
                if (i1 != 0) {
                  continue;
                }
                if (!bool) {}
              }
            }
            else {
              arrayOfBoolean3[n] = true;
            }
            localm1.f();
          } while (!bool);
          if (i1 != 0) {
            continue;
          }
          int k = 0;
          do
          {
            do
            {
              if (k >= i) {
                break;
              }
              a.i.n.a(this, 0, k + ". " + arrayOfBoolean2[k] + " " + arrayOfBoolean1[k] + " " + arrayOfBoolean3[k]);
              k++;
              if (i1 != 0) {
                break label381;
              }
              if (bool) {
                break label380;
              }
            } while (!bool);
          } while (i1 != 0);
          k = -1;
          int m = 0;
          do
          {
            if (m >= i) {
              break;
            }
            if (bool) {
              break label507;
            }
            if (arrayOfBoolean1[m] != 0)
            {
              if (i1 != 0) {
                break label470;
              }
              if (arrayOfBoolean2[m] != 0) {}
            }
            else
            {
              if (i1 == 0) {
                if (arrayOfBoolean2[m] != 0)
                {
                  if (i1 != 0) {
                    break label470;
                  }
                  if (arrayOfBoolean3[m] != 0) {
                    break label468;
                  }
                }
              }
              if (i1 != 0) {
                continue;
              }
              if (arrayOfBoolean1[m] == 0) {
                break label492;
              }
              if (i1 != 0) {
                continue;
              }
              if (arrayOfBoolean3[m] == 0) {
                break label492;
              }
            }
            if (i1 == 0)
            {
              if (k >= 0) {
                break;
              }
              k = m;
            }
            if (i1 == 0)
            {
              if (!bool) {
                break;
              }
              m++;
            }
          } while (!bool);
          if (i1 != 0) {
            continue;
          }
          if (k > 0)
          {
            a.c.m localm2 = localq.w();
            do
            {
              if (!localm2.e()) {
                break label648;
              }
              n = localn.getInt(localm2.a());
              if (bool) {
                break;
              }
              if (((arrayOfBoolean1[n] == 0) || ((i1 != 0) || (arrayOfBoolean2[n] == 0))) && ((i1 != 0) || ((arrayOfBoolean2[n] == 0) || ((i1 != 0) || (arrayOfBoolean3[n] == 0)))))
              {
                if (i1 != 0) {
                  continue;
                }
                if (arrayOfBoolean1[n] != 0)
                {
                  if (i1 != 0) {
                    continue;
                  }
                  if (arrayOfBoolean3[n] == 0) {}
                }
              }
              else
              {
                localn.a(localm2.a(), k);
              }
              localm2.f();
            } while (!bool);
          }
        }
        ((w)localObject1).f();
      } while (i1 != 0);
    } while (!bool);
    label468:
    label470:
    label492:
    label507:
    localObject1 = new ab[i];
    label648:
    label667:
    Object localObject2 = localq.w();
    do
    {
      if (!((a.c.m)localObject2).e()) {
        break;
      }
      j = localn.getInt(((a.c.m)localObject2).a());
      if (bool) {
        break label764;
      }
      if (localObject1[j] == null) {
        localObject1[j] = new ab();
      }
      localObject1[j].add(((a.c.m)localObject2).a());
      ((a.c.m)localObject2).f();
    } while (!bool);
    label764:
    localObject2 = new z();
    int j = 0;
    do
    {
      while (!bool)
      {
        if (j >= i) {
          break;
        }
        if (i1 != 0) {
          break label864;
        }
        if (bool) {
          break label859;
        }
        if (localObject1[j] != null) {
          ((z)localObject2).add(localObject1[j]);
        }
        j++;
      }
      localq.a(localx);
      localq.a(localn);
      a.i.n.a(this, 0, "Result-BCCs: " + ((z)localObject2).size());
    } while (i1 != 0);
    label859:
    label864:
    return (ab[])((z)localObject2).toArray(new ab[((z)localObject2).size()]);
  }
  
  public void a(a.c.n paramn)
  {
    this.g = paramn;
  }
  
  public void b(a.c.n paramn) {}
  
  public a.c.e c()
  {
    return null;
  }
  
  public a.c.e d()
  {
    return null;
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.f.h.f.a.l

 * JD-Core Version:    0.7.0.1

 */